/**
 * @file       KeyboardThread.h
 * @brief      TODO
 * @author     Huabo Zheng
 * @date       Jan 20, 2012
 * @Copyright  2012, www.netgear.com Inc. All rights reserved.
 */

#ifndef KEYBOARDTHREAD_H_
#define KEYBOARDTHREAD_H_

#include "Thread.h"
#include "SafeSingleton.h"
#include "typedefine.h"

namespace NS_LCD_AFW
{

/**
 *NS_LCD_AFW::CKeyboardThread
 */
class CKeyboardThread: public NS_LCD_AFW::CThread
{
public:
	CKeyboardThread();
	virtual ~CKeyboardThread();
public:
	virtual int stop();
protected:
	virtual void run();

protected:
	volatile bool m_bRun;

private:
	DISABLE_COPY_CONSTRUCTOR_AND_ASSIGN_REFERENCE(CKeyboardThread);
};

#define AfwGetKeyboardThread()         (&(CSafeSingleton<CKeyboardThread>::getInstance()))
} /* namespace NS_LCD_AFW */
#endif /* KEYBOARDTHREAD_H_ */
